Skip to content

[wip]fix: mint selection onboarding refinement#229

Draft
swedishfrenchpress wants to merge 13 commits intomainfrom
fix/onboarding-ui-mint-selection-v3
Draft

[wip]fix: mint selection onboarding refinement#229
swedishfrenchpress wants to merge 13 commits intomainfrom
fix/onboarding-ui-mint-selection-v3

Conversation

@swedishfrenchpress
Copy link
Collaborator

@swedishfrenchpress swedishfrenchpress commented Mar 19, 2026

Onboarding and mint selection redesign

Summary

Redesigned the mint selection onboarding screen to introduce a clear two-section layout (Default Mint + Popular Mints), improved bottom sheet interactions.

Demo

Sunmi POS:

sunmi-v2-mint-selection-full.mp4

Pixel 6a:

pixel-6a-mint-selection.mp4

Changes

Mint selection screen — new structure

Screenshot_20260322_185214

The mint selection screen now has two distinct sections:

  • Default Mint — The single mint that connects to Lightning and holds the user's bitcoin. Shown at the top in a default mint selection box. Only one mint can be the default at a time.
  • Popular Mints — Additional mints the user can accept ecash from. Each has an unfilled star icon and a green checkmark toggle. Tapping the star on a popular mint swaps it into the default slot (the previous default moves down to popular mints with a checkmark enabled).

On first launch, the app randomly assigns one of the popular mints as the default to avoid centralization risk around any single mint.

Manually added mints become the default

When a user adds a new mint manually — either by typing a URL or scanning a QR code — that mint is automatically set as the default. The previous default moves to the popular mints list. The assumption is that if a user goes through the effort of adding a mint themselves, they want it as their primary.

Star tap target expanded

Star ImageView increased from 24×24dp to 44×44dp with 10dp padding (visual icon stays 24dp). Row paddingStart reduced from 16dp to 6dp to maintain visual alignment. marginEnd removed since the star's right padding now provides spacing. This fixes accidental checkbox toggles when trying to tap the star.

Add a Mint bottom sheet

  • Keyboard interaction fixed — Bottom sheet now adjusts position when the keyboard opens so the input field and action buttons stay fully visible above the keyboard, instead of the keyboard overlapping the sheet.
  • Loading state improved — Replaced the centered spinner that caused layout shift with an inline loading state ("Adding mint...") that maintains layout dimensions. No more content jumping around during mint URL validation.

Known issue: Popular Mints clipping on small screens (Sunmi)

sunmi-v2-mint-selection-issue.mp4

On the Sunmi POS and similarly small-screen devices, if there are 3+ popular mints, the last mint in the list is not visible without scrolling. Unlike slightly larger screens where a partial row peeks out and hints at more content, on the Sunmi the third mint is completely hidden.

Solutions considered:

  • Reduce vertical padding between mint rows — Rejected. The spacing is already tight and reducing it further would hurt readability and tap accuracy.
  • Add a "+ X more" count label — Rejected. There isn't enough vertical space between the mint list, the "+ Add a different mint" button, and the Continue button to fit another text element without making the layout feel cramped.
  • Horizontal carousel / chips layout — Rejected. Too large of a layout change for a minor edge case, and would break consistency with the rest of the onboarding flow.
  • Bottom fade/gradient scroll hint — Considered but deferred. Adds visual complexity for something that really isn't a huge issue. User can always change their mint settings.

Decision: Keeping as-is for now. The Sunmi is a niche merchant device with known screen constraints. The list is scrollable and all mints are reachable — the discoverability gap is a tradeoff we're accepting for now rather than introducing layout complexity that affects all devices. Will revisit if merchant feedback indicates this is causing real friction.

@swedishfrenchpress swedishfrenchpress marked this pull request as draft March 22, 2026 15:57
@swedishfrenchpress swedishfrenchpress changed the title Fix/splash screen and mint selection onboarding refinement Fix/splash mint selection onboarding refinement Mar 22, 2026
swedishfrenchpress and others added 4 commits March 22, 2026 17:17
Remove TermsBottomSheet and revert welcome screen styling (TOS dialog,
terms text style, accept button elevation) back to master so splash
screen updates can be done on a separate branch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… system

Use Widget.Button.Primary.Green and Widget.Button.Secondary.Outlined
styles from the withdraw branch for consistency. Replace the ad-hoc
bottom sheet scan row with a proper outlined MaterialButton. Fix purple
button color by adding colorPrimary to the bottom sheet theme. Add text
color state list so disabled buttons show readable gray text. Update
hint copy to "Enter mint URL".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the plain Default Mint header + row with a hero card matching
the Auto-Withdraw design — gradient background, lightning bolt watermark,
and elevated typography. Remove chevrons from wallet setup options.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove 5 tests that referenced view IDs from an abandoned drag-and-drop
UI iteration (add_different_mint_card, mints_subtitle, mints_list_container,
mints_count_text). These IDs no longer exist in activity_onboarding.xml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@swedishfrenchpress swedishfrenchpress marked this pull request as ready for review March 22, 2026 18:05
@swedishfrenchpress swedishfrenchpress changed the title Fix/splash mint selection onboarding refinement Fix: splash mint selection onboarding refinement Mar 22, 2026
@swedishfrenchpress swedishfrenchpress changed the title Fix: splash mint selection onboarding refinement Fix: mint selection onboarding refinement Mar 22, 2026
@swedishfrenchpress swedishfrenchpress changed the title Fix: mint selection onboarding refinement fix: mint selection onboarding refinement Mar 22, 2026
swedishfrenchpress and others added 2 commits March 22, 2026 21:38
…green

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@swedishfrenchpress swedishfrenchpress marked this pull request as draft March 22, 2026 23:30
@swedishfrenchpress swedishfrenchpress changed the title fix: mint selection onboarding refinement [wip]fix: mint selection onboarding refinement Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant